Data communication networks are typically divided into two different types of networks based on the techniques used to transmit information between a sending node and a receiving node. The first type or category is a circuit-switched network, wherein a dedicated circuit is established between the sending node and the receiving node prior to the transmission of the information. Information is then transmitted over the dedicated circuit in a continual stream of data. One example of a circuit-switched network is a public-switched telephone network (PSTN). Circuit-switched networks tend to provide a high Quality of Service (QoS) to users since very little, if any, information content is lost during transmission. One of the major drawbacks to circuit-switched networks, however, is that only a limited number of communication sessions or calls can be supported simultaneously by the network. Moreover, in many cases, the communication session fails to fully utilize the available bandwidth of the existing dedicated circuit.
The second type or category is a packet-switched network. In a packet switched network, information is transmitted from the sending node to the receiving node using a plurality of discrete data packets. Each data packet is addressed to the receiving node and selectively forwarded between various nodes within the packet switched network until it reaches the receiving node. At the receiving node, the received data packets are recombined to provide the original information. In this manner, the data packets can travel through the network using a variety of available circuits rather than requiring dedicated circuits. Selective routing techniques are employed to increase bandwidth utilization within the packet-switched network. This allows for support of simultaneous communication sessions, each of which will have an expected QoS. In certain cases, however, the QoS provided during a communication session may fall below the expected QoS, for example, due to lost or untimely receipt of data packets. One example of a packet-switched network is the Internet.
The current Internet essentially treats all data packets as having the same priority during transmission. Therefore, when the Internet is congested, some of the data packets may be dropped or otherwise lost during transmission. Typically, such missing data packets do not significantly degrade the overall QoS of the Internet, since many packets can simply be resent in a timely manner. However, in time-critical data stream transmissions, such as, multimedia (e.g., video, audio, etc.) stream transmissions, missing data packets can significantly degrade the performance of a multimedia application.
Consequently, there is a need for improved techniques that significantly increase the QoS that packet-switched networks, for example, the Internet can provide to time-critical data streaming applications.